One aspect of utilizing mobile computing devices is that the device includes, and a user will install, various apps to carry out one or more services. Generally speaking, an “app” is a small, specialized software program directed to performing a task or a small set of related tasks. Quite often, the collections of apps on a mobile device represent programs from multiple vendors. Moreover, each app will typically be designed to operate independently of another app or application and, as such, will maintain its own set of user data (data relating to the device user, including personal information).
In addition to a mobile computing device, it is quite common for a person user to own and/or use other computing devices. For example, in the course of a day a user may use his or her smart phone as well as one or more other computing devices such as a tablet computer, a laptop computer, a game console, and a desktop computer. Each of these devices (each being a computing device) has different capabilities than the others and will have at least some apps and/or applications that are not installed on all other devices—though there may be some overlap of apps between some or all devices. Further, each of these computing devices is stores and/or maintains personal information (passwords, preferences, demographic information, account information, location, etc.) about the user.
While a collection of apps can provide a robust set of features services for the benefit of the user, the user is often the integration point of the services and content provided by each of the apps. However, more and more users are interested in having their computing device (or computing devices) understand them and, based on that understanding provide personalized assistance tailored to their specific needs and context.